Project management involves the planning, organizing, securing, and managing of resources in order to successfully complete specific project goals and objectives. In project management, resource allocation typically includes the scheduling of activities and the resources required by such activities while taking into consideration both the resource availability and the project time. Resource allocation provides a large number of algorithmic solutions to allocation problems. The demand patterns, however, may undergo permanent or seasonal variations in demand during the life cycle of a process, due to changes in, for example, customer and user requirements. Additionally, there can also be changes in the execution speed of particular processes as process operators become more proficient at their tasks or begin performing new types of tasks. As a consequence, the process moves into a state of sub-optimal performance. Such changes can render the initial resource allocation sub-optimal, which will result in below-par performance of the processes. The actual number of resources required may be higher or lower than the initially allocated number.
Conventional models for allocating resources includes, for example, an even resource distribution, a highest priority first, a shortest job first, and first come first serve. Such resource allocation models either focus on a system fairness or system throughput measurement. The fairness measure (fairness index) is calculated utilizing Jain's fairness index and max-min ratio. The Jain's fairness index is only efficient for a homogenous user demand (i.e., user having similar demand and equal priority. The max-min ratio mechanism does not lead to precise evaluation of the fairness measure because it considers only the maximum and minimum allocations while computing the fairness measure.
For example, the even resource distribution approach is only efficient for scenarios where the users' demand is homogenous thus allocating the resources evenly provides a fair solution. The fairness measure of the even resource distribution allocation can be computed utilizing the Jain's fairness index as indicated in equation (1) as follows:
                              f          ⁡                      (            x            )                          =                                            [                                                ∑                                      i                    =                    1                                    n                                ⁢                                                                  ⁢                                  x                  i                                            ]                        2                                              ∑                              i                =                1                            n                        ⁢                                                  ⁢                          x              i              2                                                          (        1        )            
According to the definition of the Jain's fairness index f(x)ε[0,1], where value of 0 implies least fair and value of 1 implies maximum fair. Such fairness model can be applied to user having similar demand and doesn't yield high system throughput. The highest priority first approach offers a high throughput solution however it is not fair in cases where R<<D where R represents total available resources and D is the total demand of all the users. Similarly, the shortest job first approach and the first come first serve algorithm offers partially efficient solutions which are either fair or yield high throughput.
Based on the foregoing, it is believed that a need exists for an improved system and method for dynamically allocating resources based on system fairness, throughput and user behavior measurement, as will be described in greater detail herein.